Skip to content

Fix deserialization with skip#751

Open
PingPongun wants to merge 3 commits into
yukinarit:mainfrom
PingPongun:main
Open

Fix deserialization with skip#751
PingPongun wants to merge 3 commits into
yukinarit:mainfrom
PingPongun:main

Conversation

@PingPongun
Copy link
Copy Markdown

pyserde currently fails to deserialize when after field with skip attribute there is a non skipped field. (ofc in simple cases, skipped fields could be reordered to be the last ones, but this is not a solution when inheritance is in game, also I've not noticed such limitation of skip being noted anywhere in documentation)

This PR adds such case as test scenario ( test failed before fix ) and fixes the problem, by forcing keyword based class initialization (for fields after skipped field)

@codecov
Copy link
Copy Markdown

codecov Bot commented May 28, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.92%. Comparing base (f09d503) to head (37f1be0).
⚠️ Report is 71 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #751      +/-   ##
==========================================
+ Coverage   90.83%   90.92%   +0.09%     
==========================================
  Files          13       13              
  Lines        2040     2314     +274     
  Branches      370      454      +84     
==========================================
+ Hits         1853     2104     +251     
- Misses        124      140      +16     
- Partials       63       70       +7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant